/*
 * Copyright (c) 2025 CAX Conversion Project
 */
package com.comac.ins.bomt.service;

import com.comac.ins.bomt.common.enums.BizFileTypeEnum;
import com.comac.ins.bomt.domain.vo.BizFileVo;
import com.comac.ins.bomt.domain.FileExtraInfo;
import com.comac.ins.common.core.domain.model.LoginUser;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;

/**
 * Bomt文件服务
 *
 * @author zhanghongyi
 * @date 2024 /8/2 9:19
 * @description BizFileService
 */
public interface BizFileService {

    /**
     * 上传文件
     *
     * @param loginUser     the login user
     * @param fileType      the file type
     * @param file          the file
     * @param trace         the trace
     * @param aircraftModel the aircraft model
     * @param groupType     the group type
     * @param extra         the extra
     * @return the biz file vo
     */
    BizFileVo upload(LoginUser loginUser, BizFileTypeEnum fileType, MultipartFile file, String trace, String aircraftModel, String groupType, FileExtraInfo extra);

    /**
     * 上传文件
     *
     * @param loginUser     the login user
     * @param fileType      the file type
     * @param file          the file
     * @param fileName      the file name
     * @param trace         the trace
     * @param aircraftModel the aircraft model
     * @param groupType     the group type
     * @param extra         the extra
     * @return the biz file vo
     */
    BizFileVo upload(LoginUser loginUser, BizFileTypeEnum fileType, File file, String fileName, String trace, String aircraftModel, String groupType, FileExtraInfo extra);

    /**
     * 删除文件
     *
     * @param loginUser the login user
     * @param fileId    the file id
     */
    void delete(LoginUser loginUser, Long fileId);
}
